package com.zshan.clinic.database.model;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ClinicRegisterExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public ClinicRegisterExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andRegisterIdIsNull() {
            addCriterion("register_id is null");
            return (Criteria) this;
        }

        public Criteria andRegisterIdIsNotNull() {
            addCriterion("register_id is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterIdEqualTo(Long value) {
            addCriterion("register_id =", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdNotEqualTo(Long value) {
            addCriterion("register_id <>", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdGreaterThan(Long value) {
            addCriterion("register_id >", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdGreaterThanOrEqualTo(Long value) {
            addCriterion("register_id >=", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdLessThan(Long value) {
            addCriterion("register_id <", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdLessThanOrEqualTo(Long value) {
            addCriterion("register_id <=", value, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdIn(List<Long> values) {
            addCriterion("register_id in", values, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdNotIn(List<Long> values) {
            addCriterion("register_id not in", values, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdBetween(Long value1, Long value2) {
            addCriterion("register_id between", value1, value2, "registerId");
            return (Criteria) this;
        }

        public Criteria andRegisterIdNotBetween(Long value1, Long value2) {
            addCriterion("register_id not between", value1, value2, "registerId");
            return (Criteria) this;
        }

        public Criteria andVisitNoIsNull() {
            addCriterion("visit_no is null");
            return (Criteria) this;
        }

        public Criteria andVisitNoIsNotNull() {
            addCriterion("visit_no is not null");
            return (Criteria) this;
        }

        public Criteria andVisitNoEqualTo(String value) {
            addCriterion("visit_no =", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoNotEqualTo(String value) {
            addCriterion("visit_no <>", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoGreaterThan(String value) {
            addCriterion("visit_no >", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoGreaterThanOrEqualTo(String value) {
            addCriterion("visit_no >=", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoLessThan(String value) {
            addCriterion("visit_no <", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoLessThanOrEqualTo(String value) {
            addCriterion("visit_no <=", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoLike(String value) {
            addCriterion("visit_no like", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoNotLike(String value) {
            addCriterion("visit_no not like", value, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoIn(List<String> values) {
            addCriterion("visit_no in", values, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoNotIn(List<String> values) {
            addCriterion("visit_no not in", values, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoBetween(String value1, String value2) {
            addCriterion("visit_no between", value1, value2, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitNoNotBetween(String value1, String value2) {
            addCriterion("visit_no not between", value1, value2, "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitDateIsNull() {
            addCriterion("visit_date is null");
            return (Criteria) this;
        }

        public Criteria andVisitDateIsNotNull() {
            addCriterion("visit_date is not null");
            return (Criteria) this;
        }

        public Criteria andVisitDateEqualTo(LocalDate value) {
            addCriterion("visit_date =", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateNotEqualTo(LocalDate value) {
            addCriterion("visit_date <>", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateGreaterThan(LocalDate value) {
            addCriterion("visit_date >", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("visit_date >=", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateLessThan(LocalDate value) {
            addCriterion("visit_date <", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateLessThanOrEqualTo(LocalDate value) {
            addCriterion("visit_date <=", value, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateIn(List<LocalDate> values) {
            addCriterion("visit_date in", values, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateNotIn(List<LocalDate> values) {
            addCriterion("visit_date not in", values, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateBetween(LocalDate value1, LocalDate value2) {
            addCriterion("visit_date between", value1, value2, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitDateNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("visit_date not between", value1, value2, "visitDate");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodIsNull() {
            addCriterion("visit_period is null");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodIsNotNull() {
            addCriterion("visit_period is not null");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodEqualTo(String value) {
            addCriterion("visit_period =", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodNotEqualTo(String value) {
            addCriterion("visit_period <>", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodGreaterThan(String value) {
            addCriterion("visit_period >", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodGreaterThanOrEqualTo(String value) {
            addCriterion("visit_period >=", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodLessThan(String value) {
            addCriterion("visit_period <", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodLessThanOrEqualTo(String value) {
            addCriterion("visit_period <=", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodLike(String value) {
            addCriterion("visit_period like", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodNotLike(String value) {
            addCriterion("visit_period not like", value, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodIn(List<String> values) {
            addCriterion("visit_period in", values, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodNotIn(List<String> values) {
            addCriterion("visit_period not in", values, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodBetween(String value1, String value2) {
            addCriterion("visit_period between", value1, value2, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodNotBetween(String value1, String value2) {
            addCriterion("visit_period not between", value1, value2, "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoIsNull() {
            addCriterion("visit_seq_no is null");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoIsNotNull() {
            addCriterion("visit_seq_no is not null");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoEqualTo(Integer value) {
            addCriterion("visit_seq_no =", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoNotEqualTo(Integer value) {
            addCriterion("visit_seq_no <>", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoGreaterThan(Integer value) {
            addCriterion("visit_seq_no >", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("visit_seq_no >=", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoLessThan(Integer value) {
            addCriterion("visit_seq_no <", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoLessThanOrEqualTo(Integer value) {
            addCriterion("visit_seq_no <=", value, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoIn(List<Integer> values) {
            addCriterion("visit_seq_no in", values, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoNotIn(List<Integer> values) {
            addCriterion("visit_seq_no not in", values, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoBetween(Integer value1, Integer value2) {
            addCriterion("visit_seq_no between", value1, value2, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andVisitSeqNoNotBetween(Integer value1, Integer value2) {
            addCriterion("visit_seq_no not between", value1, value2, "visitSeqNo");
            return (Criteria) this;
        }

        public Criteria andDoctorIdIsNull() {
            addCriterion("doctor_id is null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdIsNotNull() {
            addCriterion("doctor_id is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdEqualTo(Long value) {
            addCriterion("doctor_id =", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotEqualTo(Long value) {
            addCriterion("doctor_id <>", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdGreaterThan(Long value) {
            addCriterion("doctor_id >", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdGreaterThanOrEqualTo(Long value) {
            addCriterion("doctor_id >=", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdLessThan(Long value) {
            addCriterion("doctor_id <", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdLessThanOrEqualTo(Long value) {
            addCriterion("doctor_id <=", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdIn(List<Long> values) {
            addCriterion("doctor_id in", values, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotIn(List<Long> values) {
            addCriterion("doctor_id not in", values, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdBetween(Long value1, Long value2) {
            addCriterion("doctor_id between", value1, value2, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotBetween(Long value1, Long value2) {
            addCriterion("doctor_id not between", value1, value2, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIsNull() {
            addCriterion("doctor_name is null");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIsNotNull() {
            addCriterion("doctor_name is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorNameEqualTo(String value) {
            addCriterion("doctor_name =", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotEqualTo(String value) {
            addCriterion("doctor_name <>", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameGreaterThan(String value) {
            addCriterion("doctor_name >", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_name >=", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLessThan(String value) {
            addCriterion("doctor_name <", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLessThanOrEqualTo(String value) {
            addCriterion("doctor_name <=", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLike(String value) {
            addCriterion("doctor_name like", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotLike(String value) {
            addCriterion("doctor_name not like", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIn(List<String> values) {
            addCriterion("doctor_name in", values, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotIn(List<String> values) {
            addCriterion("doctor_name not in", values, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameBetween(String value1, String value2) {
            addCriterion("doctor_name between", value1, value2, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotBetween(String value1, String value2) {
            addCriterion("doctor_name not between", value1, value2, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNull() {
            addCriterion("dept_id is null");
            return (Criteria) this;
        }

        public Criteria andDeptIdIsNotNull() {
            addCriterion("dept_id is not null");
            return (Criteria) this;
        }

        public Criteria andDeptIdEqualTo(Long value) {
            addCriterion("dept_id =", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotEqualTo(Long value) {
            addCriterion("dept_id <>", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThan(Long value) {
            addCriterion("dept_id >", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dept_id >=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThan(Long value) {
            addCriterion("dept_id <", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdLessThanOrEqualTo(Long value) {
            addCriterion("dept_id <=", value, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdIn(List<Long> values) {
            addCriterion("dept_id in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotIn(List<Long> values) {
            addCriterion("dept_id not in", values, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdBetween(Long value1, Long value2) {
            addCriterion("dept_id between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptIdNotBetween(Long value1, Long value2) {
            addCriterion("dept_id not between", value1, value2, "deptId");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNull() {
            addCriterion("dept_name is null");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNotNull() {
            addCriterion("dept_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeptNameEqualTo(String value) {
            addCriterion("dept_name =", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotEqualTo(String value) {
            addCriterion("dept_name <>", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThan(String value) {
            addCriterion("dept_name >", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThanOrEqualTo(String value) {
            addCriterion("dept_name >=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThan(String value) {
            addCriterion("dept_name <", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThanOrEqualTo(String value) {
            addCriterion("dept_name <=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLike(String value) {
            addCriterion("dept_name like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotLike(String value) {
            addCriterion("dept_name not like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameIn(List<String> values) {
            addCriterion("dept_name in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotIn(List<String> values) {
            addCriterion("dept_name not in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameBetween(String value1, String value2) {
            addCriterion("dept_name between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotBetween(String value1, String value2) {
            addCriterion("dept_name not between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andRoomIdIsNull() {
            addCriterion("room_id is null");
            return (Criteria) this;
        }

        public Criteria andRoomIdIsNotNull() {
            addCriterion("room_id is not null");
            return (Criteria) this;
        }

        public Criteria andRoomIdEqualTo(Long value) {
            addCriterion("room_id =", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdNotEqualTo(Long value) {
            addCriterion("room_id <>", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdGreaterThan(Long value) {
            addCriterion("room_id >", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdGreaterThanOrEqualTo(Long value) {
            addCriterion("room_id >=", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdLessThan(Long value) {
            addCriterion("room_id <", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdLessThanOrEqualTo(Long value) {
            addCriterion("room_id <=", value, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdIn(List<Long> values) {
            addCriterion("room_id in", values, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdNotIn(List<Long> values) {
            addCriterion("room_id not in", values, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdBetween(Long value1, Long value2) {
            addCriterion("room_id between", value1, value2, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomIdNotBetween(Long value1, Long value2) {
            addCriterion("room_id not between", value1, value2, "roomId");
            return (Criteria) this;
        }

        public Criteria andRoomNameIsNull() {
            addCriterion("room_name is null");
            return (Criteria) this;
        }

        public Criteria andRoomNameIsNotNull() {
            addCriterion("room_name is not null");
            return (Criteria) this;
        }

        public Criteria andRoomNameEqualTo(String value) {
            addCriterion("room_name =", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotEqualTo(String value) {
            addCriterion("room_name <>", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameGreaterThan(String value) {
            addCriterion("room_name >", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameGreaterThanOrEqualTo(String value) {
            addCriterion("room_name >=", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLessThan(String value) {
            addCriterion("room_name <", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLessThanOrEqualTo(String value) {
            addCriterion("room_name <=", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLike(String value) {
            addCriterion("room_name like", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotLike(String value) {
            addCriterion("room_name not like", value, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameIn(List<String> values) {
            addCriterion("room_name in", values, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotIn(List<String> values) {
            addCriterion("room_name not in", values, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameBetween(String value1, String value2) {
            addCriterion("room_name between", value1, value2, "roomName");
            return (Criteria) this;
        }

        public Criteria andRoomNameNotBetween(String value1, String value2) {
            addCriterion("room_name not between", value1, value2, "roomName");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdIsNull() {
            addCriterion("visit_shift_id is null");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdIsNotNull() {
            addCriterion("visit_shift_id is not null");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdEqualTo(Long value) {
            addCriterion("visit_shift_id =", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdNotEqualTo(Long value) {
            addCriterion("visit_shift_id <>", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdGreaterThan(Long value) {
            addCriterion("visit_shift_id >", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdGreaterThanOrEqualTo(Long value) {
            addCriterion("visit_shift_id >=", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdLessThan(Long value) {
            addCriterion("visit_shift_id <", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdLessThanOrEqualTo(Long value) {
            addCriterion("visit_shift_id <=", value, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdIn(List<Long> values) {
            addCriterion("visit_shift_id in", values, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdNotIn(List<Long> values) {
            addCriterion("visit_shift_id not in", values, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdBetween(Long value1, Long value2) {
            addCriterion("visit_shift_id between", value1, value2, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitShiftIdNotBetween(Long value1, Long value2) {
            addCriterion("visit_shift_id not between", value1, value2, "visitShiftId");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeIsNull() {
            addCriterion("visit_start_time is null");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeIsNotNull() {
            addCriterion("visit_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeEqualTo(LocalTime value) {
            addCriterion("visit_start_time =", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeNotEqualTo(LocalTime value) {
            addCriterion("visit_start_time <>", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeGreaterThan(LocalTime value) {
            addCriterion("visit_start_time >", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeGreaterThanOrEqualTo(LocalTime value) {
            addCriterion("visit_start_time >=", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeLessThan(LocalTime value) {
            addCriterion("visit_start_time <", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeLessThanOrEqualTo(LocalTime value) {
            addCriterion("visit_start_time <=", value, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeIn(List<LocalTime> values) {
            addCriterion("visit_start_time in", values, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeNotIn(List<LocalTime> values) {
            addCriterion("visit_start_time not in", values, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeBetween(LocalTime value1, LocalTime value2) {
            addCriterion("visit_start_time between", value1, value2, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitStartTimeNotBetween(LocalTime value1, LocalTime value2) {
            addCriterion("visit_start_time not between", value1, value2, "visitStartTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeIsNull() {
            addCriterion("visit_end_time is null");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeIsNotNull() {
            addCriterion("visit_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeEqualTo(LocalTime value) {
            addCriterion("visit_end_time =", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeNotEqualTo(LocalTime value) {
            addCriterion("visit_end_time <>", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeGreaterThan(LocalTime value) {
            addCriterion("visit_end_time >", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeGreaterThanOrEqualTo(LocalTime value) {
            addCriterion("visit_end_time >=", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeLessThan(LocalTime value) {
            addCriterion("visit_end_time <", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeLessThanOrEqualTo(LocalTime value) {
            addCriterion("visit_end_time <=", value, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeIn(List<LocalTime> values) {
            addCriterion("visit_end_time in", values, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeNotIn(List<LocalTime> values) {
            addCriterion("visit_end_time not in", values, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeBetween(LocalTime value1, LocalTime value2) {
            addCriterion("visit_end_time between", value1, value2, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andVisitEndTimeNotBetween(LocalTime value1, LocalTime value2) {
            addCriterion("visit_end_time not between", value1, value2, "visitEndTime");
            return (Criteria) this;
        }

        public Criteria andRegMethodIsNull() {
            addCriterion("reg_method is null");
            return (Criteria) this;
        }

        public Criteria andRegMethodIsNotNull() {
            addCriterion("reg_method is not null");
            return (Criteria) this;
        }

        public Criteria andRegMethodEqualTo(String value) {
            addCriterion("reg_method =", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodNotEqualTo(String value) {
            addCriterion("reg_method <>", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodGreaterThan(String value) {
            addCriterion("reg_method >", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodGreaterThanOrEqualTo(String value) {
            addCriterion("reg_method >=", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodLessThan(String value) {
            addCriterion("reg_method <", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodLessThanOrEqualTo(String value) {
            addCriterion("reg_method <=", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodLike(String value) {
            addCriterion("reg_method like", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodNotLike(String value) {
            addCriterion("reg_method not like", value, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodIn(List<String> values) {
            addCriterion("reg_method in", values, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodNotIn(List<String> values) {
            addCriterion("reg_method not in", values, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodBetween(String value1, String value2) {
            addCriterion("reg_method between", value1, value2, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegMethodNotBetween(String value1, String value2) {
            addCriterion("reg_method not between", value1, value2, "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegChannelIsNull() {
            addCriterion("reg_channel is null");
            return (Criteria) this;
        }

        public Criteria andRegChannelIsNotNull() {
            addCriterion("reg_channel is not null");
            return (Criteria) this;
        }

        public Criteria andRegChannelEqualTo(String value) {
            addCriterion("reg_channel =", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelNotEqualTo(String value) {
            addCriterion("reg_channel <>", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelGreaterThan(String value) {
            addCriterion("reg_channel >", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelGreaterThanOrEqualTo(String value) {
            addCriterion("reg_channel >=", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelLessThan(String value) {
            addCriterion("reg_channel <", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelLessThanOrEqualTo(String value) {
            addCriterion("reg_channel <=", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelLike(String value) {
            addCriterion("reg_channel like", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelNotLike(String value) {
            addCriterion("reg_channel not like", value, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelIn(List<String> values) {
            addCriterion("reg_channel in", values, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelNotIn(List<String> values) {
            addCriterion("reg_channel not in", values, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelBetween(String value1, String value2) {
            addCriterion("reg_channel between", value1, value2, "regChannel");
            return (Criteria) this;
        }

        public Criteria andRegChannelNotBetween(String value1, String value2) {
            addCriterion("reg_channel not between", value1, value2, "regChannel");
            return (Criteria) this;
        }

        public Criteria andVisitTypeIsNull() {
            addCriterion("visit_type is null");
            return (Criteria) this;
        }

        public Criteria andVisitTypeIsNotNull() {
            addCriterion("visit_type is not null");
            return (Criteria) this;
        }

        public Criteria andVisitTypeEqualTo(String value) {
            addCriterion("visit_type =", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeNotEqualTo(String value) {
            addCriterion("visit_type <>", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeGreaterThan(String value) {
            addCriterion("visit_type >", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeGreaterThanOrEqualTo(String value) {
            addCriterion("visit_type >=", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeLessThan(String value) {
            addCriterion("visit_type <", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeLessThanOrEqualTo(String value) {
            addCriterion("visit_type <=", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeLike(String value) {
            addCriterion("visit_type like", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeNotLike(String value) {
            addCriterion("visit_type not like", value, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeIn(List<String> values) {
            addCriterion("visit_type in", values, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeNotIn(List<String> values) {
            addCriterion("visit_type not in", values, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeBetween(String value1, String value2) {
            addCriterion("visit_type between", value1, value2, "visitType");
            return (Criteria) this;
        }

        public Criteria andVisitTypeNotBetween(String value1, String value2) {
            addCriterion("visit_type not between", value1, value2, "visitType");
            return (Criteria) this;
        }

        public Criteria andRegTypeIsNull() {
            addCriterion("reg_type is null");
            return (Criteria) this;
        }

        public Criteria andRegTypeIsNotNull() {
            addCriterion("reg_type is not null");
            return (Criteria) this;
        }

        public Criteria andRegTypeEqualTo(String value) {
            addCriterion("reg_type =", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeNotEqualTo(String value) {
            addCriterion("reg_type <>", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeGreaterThan(String value) {
            addCriterion("reg_type >", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeGreaterThanOrEqualTo(String value) {
            addCriterion("reg_type >=", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeLessThan(String value) {
            addCriterion("reg_type <", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeLessThanOrEqualTo(String value) {
            addCriterion("reg_type <=", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeLike(String value) {
            addCriterion("reg_type like", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeNotLike(String value) {
            addCriterion("reg_type not like", value, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeIn(List<String> values) {
            addCriterion("reg_type in", values, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeNotIn(List<String> values) {
            addCriterion("reg_type not in", values, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeBetween(String value1, String value2) {
            addCriterion("reg_type between", value1, value2, "regType");
            return (Criteria) this;
        }

        public Criteria andRegTypeNotBetween(String value1, String value2) {
            addCriterion("reg_type not between", value1, value2, "regType");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeIsNull() {
            addCriterion("doctor_fee is null");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeIsNotNull() {
            addCriterion("doctor_fee is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeEqualTo(Integer value) {
            addCriterion("doctor_fee =", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeNotEqualTo(Integer value) {
            addCriterion("doctor_fee <>", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeGreaterThan(Integer value) {
            addCriterion("doctor_fee >", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_fee >=", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeLessThan(Integer value) {
            addCriterion("doctor_fee <", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_fee <=", value, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeIn(List<Integer> values) {
            addCriterion("doctor_fee in", values, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeNotIn(List<Integer> values) {
            addCriterion("doctor_fee not in", values, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeBetween(Integer value1, Integer value2) {
            addCriterion("doctor_fee between", value1, value2, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andDoctorFeeNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_fee not between", value1, value2, "doctorFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeIsNull() {
            addCriterion("reg_fee is null");
            return (Criteria) this;
        }

        public Criteria andRegFeeIsNotNull() {
            addCriterion("reg_fee is not null");
            return (Criteria) this;
        }

        public Criteria andRegFeeEqualTo(Integer value) {
            addCriterion("reg_fee =", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeNotEqualTo(Integer value) {
            addCriterion("reg_fee <>", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeGreaterThan(Integer value) {
            addCriterion("reg_fee >", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeGreaterThanOrEqualTo(Integer value) {
            addCriterion("reg_fee >=", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeLessThan(Integer value) {
            addCriterion("reg_fee <", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeLessThanOrEqualTo(Integer value) {
            addCriterion("reg_fee <=", value, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeIn(List<Integer> values) {
            addCriterion("reg_fee in", values, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeNotIn(List<Integer> values) {
            addCriterion("reg_fee not in", values, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeBetween(Integer value1, Integer value2) {
            addCriterion("reg_fee between", value1, value2, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegFeeNotBetween(Integer value1, Integer value2) {
            addCriterion("reg_fee not between", value1, value2, "regFee");
            return (Criteria) this;
        }

        public Criteria andRegStatusIsNull() {
            addCriterion("reg_status is null");
            return (Criteria) this;
        }

        public Criteria andRegStatusIsNotNull() {
            addCriterion("reg_status is not null");
            return (Criteria) this;
        }

        public Criteria andRegStatusEqualTo(String value) {
            addCriterion("reg_status =", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusNotEqualTo(String value) {
            addCriterion("reg_status <>", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusGreaterThan(String value) {
            addCriterion("reg_status >", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusGreaterThanOrEqualTo(String value) {
            addCriterion("reg_status >=", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusLessThan(String value) {
            addCriterion("reg_status <", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusLessThanOrEqualTo(String value) {
            addCriterion("reg_status <=", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusLike(String value) {
            addCriterion("reg_status like", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusNotLike(String value) {
            addCriterion("reg_status not like", value, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusIn(List<String> values) {
            addCriterion("reg_status in", values, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusNotIn(List<String> values) {
            addCriterion("reg_status not in", values, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusBetween(String value1, String value2) {
            addCriterion("reg_status between", value1, value2, "regStatus");
            return (Criteria) this;
        }

        public Criteria andRegStatusNotBetween(String value1, String value2) {
            addCriterion("reg_status not between", value1, value2, "regStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusIsNull() {
            addCriterion("pay_status is null");
            return (Criteria) this;
        }

        public Criteria andPayStatusIsNotNull() {
            addCriterion("pay_status is not null");
            return (Criteria) this;
        }

        public Criteria andPayStatusEqualTo(String value) {
            addCriterion("pay_status =", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotEqualTo(String value) {
            addCriterion("pay_status <>", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusGreaterThan(String value) {
            addCriterion("pay_status >", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusGreaterThanOrEqualTo(String value) {
            addCriterion("pay_status >=", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLessThan(String value) {
            addCriterion("pay_status <", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLessThanOrEqualTo(String value) {
            addCriterion("pay_status <=", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLike(String value) {
            addCriterion("pay_status like", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotLike(String value) {
            addCriterion("pay_status not like", value, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusIn(List<String> values) {
            addCriterion("pay_status in", values, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotIn(List<String> values) {
            addCriterion("pay_status not in", values, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusBetween(String value1, String value2) {
            addCriterion("pay_status between", value1, value2, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusNotBetween(String value1, String value2) {
            addCriterion("pay_status not between", value1, value2, "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayChannelIsNull() {
            addCriterion("pay_channel is null");
            return (Criteria) this;
        }

        public Criteria andPayChannelIsNotNull() {
            addCriterion("pay_channel is not null");
            return (Criteria) this;
        }

        public Criteria andPayChannelEqualTo(String value) {
            addCriterion("pay_channel =", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelNotEqualTo(String value) {
            addCriterion("pay_channel <>", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelGreaterThan(String value) {
            addCriterion("pay_channel >", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelGreaterThanOrEqualTo(String value) {
            addCriterion("pay_channel >=", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelLessThan(String value) {
            addCriterion("pay_channel <", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelLessThanOrEqualTo(String value) {
            addCriterion("pay_channel <=", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelLike(String value) {
            addCriterion("pay_channel like", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelNotLike(String value) {
            addCriterion("pay_channel not like", value, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelIn(List<String> values) {
            addCriterion("pay_channel in", values, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelNotIn(List<String> values) {
            addCriterion("pay_channel not in", values, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelBetween(String value1, String value2) {
            addCriterion("pay_channel between", value1, value2, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPayChannelNotBetween(String value1, String value2) {
            addCriterion("pay_channel not between", value1, value2, "payChannel");
            return (Criteria) this;
        }

        public Criteria andPatientIdIsNull() {
            addCriterion("patient_id is null");
            return (Criteria) this;
        }

        public Criteria andPatientIdIsNotNull() {
            addCriterion("patient_id is not null");
            return (Criteria) this;
        }

        public Criteria andPatientIdEqualTo(Long value) {
            addCriterion("patient_id =", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdNotEqualTo(Long value) {
            addCriterion("patient_id <>", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdGreaterThan(Long value) {
            addCriterion("patient_id >", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdGreaterThanOrEqualTo(Long value) {
            addCriterion("patient_id >=", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdLessThan(Long value) {
            addCriterion("patient_id <", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdLessThanOrEqualTo(Long value) {
            addCriterion("patient_id <=", value, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdIn(List<Long> values) {
            addCriterion("patient_id in", values, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdNotIn(List<Long> values) {
            addCriterion("patient_id not in", values, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdBetween(Long value1, Long value2) {
            addCriterion("patient_id between", value1, value2, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientIdNotBetween(Long value1, Long value2) {
            addCriterion("patient_id not between", value1, value2, "patientId");
            return (Criteria) this;
        }

        public Criteria andPatientNameIsNull() {
            addCriterion("patient_name is null");
            return (Criteria) this;
        }

        public Criteria andPatientNameIsNotNull() {
            addCriterion("patient_name is not null");
            return (Criteria) this;
        }

        public Criteria andPatientNameEqualTo(String value) {
            addCriterion("patient_name =", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameNotEqualTo(String value) {
            addCriterion("patient_name <>", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameGreaterThan(String value) {
            addCriterion("patient_name >", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameGreaterThanOrEqualTo(String value) {
            addCriterion("patient_name >=", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameLessThan(String value) {
            addCriterion("patient_name <", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameLessThanOrEqualTo(String value) {
            addCriterion("patient_name <=", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameLike(String value) {
            addCriterion("patient_name like", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameNotLike(String value) {
            addCriterion("patient_name not like", value, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameIn(List<String> values) {
            addCriterion("patient_name in", values, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameNotIn(List<String> values) {
            addCriterion("patient_name not in", values, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameBetween(String value1, String value2) {
            addCriterion("patient_name between", value1, value2, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientNameNotBetween(String value1, String value2) {
            addCriterion("patient_name not between", value1, value2, "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientGenderIsNull() {
            addCriterion("patient_gender is null");
            return (Criteria) this;
        }

        public Criteria andPatientGenderIsNotNull() {
            addCriterion("patient_gender is not null");
            return (Criteria) this;
        }

        public Criteria andPatientGenderEqualTo(String value) {
            addCriterion("patient_gender =", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderNotEqualTo(String value) {
            addCriterion("patient_gender <>", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderGreaterThan(String value) {
            addCriterion("patient_gender >", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderGreaterThanOrEqualTo(String value) {
            addCriterion("patient_gender >=", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderLessThan(String value) {
            addCriterion("patient_gender <", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderLessThanOrEqualTo(String value) {
            addCriterion("patient_gender <=", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderLike(String value) {
            addCriterion("patient_gender like", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderNotLike(String value) {
            addCriterion("patient_gender not like", value, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderIn(List<String> values) {
            addCriterion("patient_gender in", values, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderNotIn(List<String> values) {
            addCriterion("patient_gender not in", values, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderBetween(String value1, String value2) {
            addCriterion("patient_gender between", value1, value2, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientGenderNotBetween(String value1, String value2) {
            addCriterion("patient_gender not between", value1, value2, "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneIsNull() {
            addCriterion("patient_phone is null");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneIsNotNull() {
            addCriterion("patient_phone is not null");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneEqualTo(String value) {
            addCriterion("patient_phone =", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneNotEqualTo(String value) {
            addCriterion("patient_phone <>", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneGreaterThan(String value) {
            addCriterion("patient_phone >", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("patient_phone >=", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneLessThan(String value) {
            addCriterion("patient_phone <", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneLessThanOrEqualTo(String value) {
            addCriterion("patient_phone <=", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneLike(String value) {
            addCriterion("patient_phone like", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneNotLike(String value) {
            addCriterion("patient_phone not like", value, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneIn(List<String> values) {
            addCriterion("patient_phone in", values, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneNotIn(List<String> values) {
            addCriterion("patient_phone not in", values, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneBetween(String value1, String value2) {
            addCriterion("patient_phone between", value1, value2, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneNotBetween(String value1, String value2) {
            addCriterion("patient_phone not between", value1, value2, "patientPhone");
            return (Criteria) this;
        }

        public Criteria andIdCardIsNull() {
            addCriterion("id_card is null");
            return (Criteria) this;
        }

        public Criteria andIdCardIsNotNull() {
            addCriterion("id_card is not null");
            return (Criteria) this;
        }

        public Criteria andIdCardEqualTo(String value) {
            addCriterion("id_card =", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardNotEqualTo(String value) {
            addCriterion("id_card <>", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardGreaterThan(String value) {
            addCriterion("id_card >", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardGreaterThanOrEqualTo(String value) {
            addCriterion("id_card >=", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardLessThan(String value) {
            addCriterion("id_card <", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardLessThanOrEqualTo(String value) {
            addCriterion("id_card <=", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardLike(String value) {
            addCriterion("id_card like", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardNotLike(String value) {
            addCriterion("id_card not like", value, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardIn(List<String> values) {
            addCriterion("id_card in", values, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardNotIn(List<String> values) {
            addCriterion("id_card not in", values, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardBetween(String value1, String value2) {
            addCriterion("id_card between", value1, value2, "idCard");
            return (Criteria) this;
        }

        public Criteria andIdCardNotBetween(String value1, String value2) {
            addCriterion("id_card not between", value1, value2, "idCard");
            return (Criteria) this;
        }

        public Criteria andAgeYearIsNull() {
            addCriterion("age_year is null");
            return (Criteria) this;
        }

        public Criteria andAgeYearIsNotNull() {
            addCriterion("age_year is not null");
            return (Criteria) this;
        }

        public Criteria andAgeYearEqualTo(Integer value) {
            addCriterion("age_year =", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearNotEqualTo(Integer value) {
            addCriterion("age_year <>", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearGreaterThan(Integer value) {
            addCriterion("age_year >", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("age_year >=", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearLessThan(Integer value) {
            addCriterion("age_year <", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearLessThanOrEqualTo(Integer value) {
            addCriterion("age_year <=", value, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearIn(List<Integer> values) {
            addCriterion("age_year in", values, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearNotIn(List<Integer> values) {
            addCriterion("age_year not in", values, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearBetween(Integer value1, Integer value2) {
            addCriterion("age_year between", value1, value2, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeYearNotBetween(Integer value1, Integer value2) {
            addCriterion("age_year not between", value1, value2, "ageYear");
            return (Criteria) this;
        }

        public Criteria andAgeMonthIsNull() {
            addCriterion("age_month is null");
            return (Criteria) this;
        }

        public Criteria andAgeMonthIsNotNull() {
            addCriterion("age_month is not null");
            return (Criteria) this;
        }

        public Criteria andAgeMonthEqualTo(Integer value) {
            addCriterion("age_month =", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthNotEqualTo(Integer value) {
            addCriterion("age_month <>", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthGreaterThan(Integer value) {
            addCriterion("age_month >", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthGreaterThanOrEqualTo(Integer value) {
            addCriterion("age_month >=", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthLessThan(Integer value) {
            addCriterion("age_month <", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthLessThanOrEqualTo(Integer value) {
            addCriterion("age_month <=", value, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthIn(List<Integer> values) {
            addCriterion("age_month in", values, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthNotIn(List<Integer> values) {
            addCriterion("age_month not in", values, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthBetween(Integer value1, Integer value2) {
            addCriterion("age_month between", value1, value2, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andAgeMonthNotBetween(Integer value1, Integer value2) {
            addCriterion("age_month not between", value1, value2, "ageMonth");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayIsNull() {
            addCriterion("solar_birthday is null");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayIsNotNull() {
            addCriterion("solar_birthday is not null");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayEqualTo(LocalDate value) {
            addCriterion("solar_birthday =", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayNotEqualTo(LocalDate value) {
            addCriterion("solar_birthday <>", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayGreaterThan(LocalDate value) {
            addCriterion("solar_birthday >", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("solar_birthday >=", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayLessThan(LocalDate value) {
            addCriterion("solar_birthday <", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayLessThanOrEqualTo(LocalDate value) {
            addCriterion("solar_birthday <=", value, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayIn(List<LocalDate> values) {
            addCriterion("solar_birthday in", values, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayNotIn(List<LocalDate> values) {
            addCriterion("solar_birthday not in", values, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayBetween(LocalDate value1, LocalDate value2) {
            addCriterion("solar_birthday between", value1, value2, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andSolarBirthdayNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("solar_birthday not between", value1, value2, "solarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayIsNull() {
            addCriterion("lunar_birthday is null");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayIsNotNull() {
            addCriterion("lunar_birthday is not null");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayEqualTo(LocalDate value) {
            addCriterion("lunar_birthday =", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayNotEqualTo(LocalDate value) {
            addCriterion("lunar_birthday <>", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayGreaterThan(LocalDate value) {
            addCriterion("lunar_birthday >", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("lunar_birthday >=", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayLessThan(LocalDate value) {
            addCriterion("lunar_birthday <", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayLessThanOrEqualTo(LocalDate value) {
            addCriterion("lunar_birthday <=", value, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayIn(List<LocalDate> values) {
            addCriterion("lunar_birthday in", values, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayNotIn(List<LocalDate> values) {
            addCriterion("lunar_birthday not in", values, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayBetween(LocalDate value1, LocalDate value2) {
            addCriterion("lunar_birthday between", value1, value2, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andLunarBirthdayNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("lunar_birthday not between", value1, value2, "lunarBirthday");
            return (Criteria) this;
        }

        public Criteria andWeightIsNull() {
            addCriterion("weight is null");
            return (Criteria) this;
        }

        public Criteria andWeightIsNotNull() {
            addCriterion("weight is not null");
            return (Criteria) this;
        }

        public Criteria andWeightEqualTo(BigDecimal value) {
            addCriterion("weight =", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotEqualTo(BigDecimal value) {
            addCriterion("weight <>", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThan(BigDecimal value) {
            addCriterion("weight >", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("weight >=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThan(BigDecimal value) {
            addCriterion("weight <", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("weight <=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightIn(List<BigDecimal> values) {
            addCriterion("weight in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotIn(List<BigDecimal> values) {
            addCriterion("weight not in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight not between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andSystolicBpIsNull() {
            addCriterion("systolic_bp is null");
            return (Criteria) this;
        }

        public Criteria andSystolicBpIsNotNull() {
            addCriterion("systolic_bp is not null");
            return (Criteria) this;
        }

        public Criteria andSystolicBpEqualTo(Integer value) {
            addCriterion("systolic_bp =", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpNotEqualTo(Integer value) {
            addCriterion("systolic_bp <>", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpGreaterThan(Integer value) {
            addCriterion("systolic_bp >", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpGreaterThanOrEqualTo(Integer value) {
            addCriterion("systolic_bp >=", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpLessThan(Integer value) {
            addCriterion("systolic_bp <", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpLessThanOrEqualTo(Integer value) {
            addCriterion("systolic_bp <=", value, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpIn(List<Integer> values) {
            addCriterion("systolic_bp in", values, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpNotIn(List<Integer> values) {
            addCriterion("systolic_bp not in", values, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpBetween(Integer value1, Integer value2) {
            addCriterion("systolic_bp between", value1, value2, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andSystolicBpNotBetween(Integer value1, Integer value2) {
            addCriterion("systolic_bp not between", value1, value2, "systolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpIsNull() {
            addCriterion("diastolic_bp is null");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpIsNotNull() {
            addCriterion("diastolic_bp is not null");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpEqualTo(Integer value) {
            addCriterion("diastolic_bp =", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpNotEqualTo(Integer value) {
            addCriterion("diastolic_bp <>", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpGreaterThan(Integer value) {
            addCriterion("diastolic_bp >", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpGreaterThanOrEqualTo(Integer value) {
            addCriterion("diastolic_bp >=", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpLessThan(Integer value) {
            addCriterion("diastolic_bp <", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpLessThanOrEqualTo(Integer value) {
            addCriterion("diastolic_bp <=", value, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpIn(List<Integer> values) {
            addCriterion("diastolic_bp in", values, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpNotIn(List<Integer> values) {
            addCriterion("diastolic_bp not in", values, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpBetween(Integer value1, Integer value2) {
            addCriterion("diastolic_bp between", value1, value2, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andDiastolicBpNotBetween(Integer value1, Integer value2) {
            addCriterion("diastolic_bp not between", value1, value2, "diastolicBp");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Long value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Long value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Long value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Long value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Long> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Long> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Long value1, Long value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andSortNumIsNull() {
            addCriterion("sort_num is null");
            return (Criteria) this;
        }

        public Criteria andSortNumIsNotNull() {
            addCriterion("sort_num is not null");
            return (Criteria) this;
        }

        public Criteria andSortNumEqualTo(Integer value) {
            addCriterion("sort_num =", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotEqualTo(Integer value) {
            addCriterion("sort_num <>", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumGreaterThan(Integer value) {
            addCriterion("sort_num >", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort_num >=", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumLessThan(Integer value) {
            addCriterion("sort_num <", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumLessThanOrEqualTo(Integer value) {
            addCriterion("sort_num <=", value, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumIn(List<Integer> values) {
            addCriterion("sort_num in", values, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotIn(List<Integer> values) {
            addCriterion("sort_num not in", values, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumBetween(Integer value1, Integer value2) {
            addCriterion("sort_num between", value1, value2, "sortNum");
            return (Criteria) this;
        }

        public Criteria andSortNumNotBetween(Integer value1, Integer value2) {
            addCriterion("sort_num not between", value1, value2, "sortNum");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCmUserIdIsNull() {
            addCriterion("cm_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCmUserIdIsNotNull() {
            addCriterion("cm_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCmUserIdEqualTo(Long value) {
            addCriterion("cm_user_id =", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdNotEqualTo(Long value) {
            addCriterion("cm_user_id <>", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdGreaterThan(Long value) {
            addCriterion("cm_user_id >", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("cm_user_id >=", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdLessThan(Long value) {
            addCriterion("cm_user_id <", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdLessThanOrEqualTo(Long value) {
            addCriterion("cm_user_id <=", value, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdIn(List<Long> values) {
            addCriterion("cm_user_id in", values, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdNotIn(List<Long> values) {
            addCriterion("cm_user_id not in", values, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdBetween(Long value1, Long value2) {
            addCriterion("cm_user_id between", value1, value2, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andCmUserIdNotBetween(Long value1, Long value2) {
            addCriterion("cm_user_id not between", value1, value2, "cmUserId");
            return (Criteria) this;
        }

        public Criteria andClinicIdIsNull() {
            addCriterion("clinic_id is null");
            return (Criteria) this;
        }

        public Criteria andClinicIdIsNotNull() {
            addCriterion("clinic_id is not null");
            return (Criteria) this;
        }

        public Criteria andClinicIdEqualTo(Long value) {
            addCriterion("clinic_id =", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdNotEqualTo(Long value) {
            addCriterion("clinic_id <>", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdGreaterThan(Long value) {
            addCriterion("clinic_id >", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdGreaterThanOrEqualTo(Long value) {
            addCriterion("clinic_id >=", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdLessThan(Long value) {
            addCriterion("clinic_id <", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdLessThanOrEqualTo(Long value) {
            addCriterion("clinic_id <=", value, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdIn(List<Long> values) {
            addCriterion("clinic_id in", values, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdNotIn(List<Long> values) {
            addCriterion("clinic_id not in", values, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdBetween(Long value1, Long value2) {
            addCriterion("clinic_id between", value1, value2, "clinicId");
            return (Criteria) this;
        }

        public Criteria andClinicIdNotBetween(Long value1, Long value2) {
            addCriterion("clinic_id not between", value1, value2, "clinicId");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIsNull() {
            addCriterion("is_enabled is null");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIsNotNull() {
            addCriterion("is_enabled is not null");
            return (Criteria) this;
        }

        public Criteria andIsEnabledEqualTo(String value) {
            addCriterion("is_enabled =", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotEqualTo(String value) {
            addCriterion("is_enabled <>", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledGreaterThan(String value) {
            addCriterion("is_enabled >", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledGreaterThanOrEqualTo(String value) {
            addCriterion("is_enabled >=", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLessThan(String value) {
            addCriterion("is_enabled <", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLessThanOrEqualTo(String value) {
            addCriterion("is_enabled <=", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLike(String value) {
            addCriterion("is_enabled like", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotLike(String value) {
            addCriterion("is_enabled not like", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIn(List<String> values) {
            addCriterion("is_enabled in", values, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotIn(List<String> values) {
            addCriterion("is_enabled not in", values, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledBetween(String value1, String value2) {
            addCriterion("is_enabled between", value1, value2, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotBetween(String value1, String value2) {
            addCriterion("is_enabled not between", value1, value2, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(String value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(String value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(String value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(String value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(String value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(String value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLike(String value) {
            addCriterion("is_delete like", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotLike(String value) {
            addCriterion("is_delete not like", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<String> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<String> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(String value1, String value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(String value1, String value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNull() {
            addCriterion("create_user_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIsNotNull() {
            addCriterion("create_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdEqualTo(Long value) {
            addCriterion("create_user_id =", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotEqualTo(Long value) {
            addCriterion("create_user_id <>", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThan(Long value) {
            addCriterion("create_user_id >", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("create_user_id >=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThan(Long value) {
            addCriterion("create_user_id <", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("create_user_id <=", value, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdIn(List<Long> values) {
            addCriterion("create_user_id in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotIn(List<Long> values) {
            addCriterion("create_user_id not in", values, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdBetween(Long value1, Long value2) {
            addCriterion("create_user_id between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("create_user_id not between", value1, value2, "createUserId");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNull() {
            addCriterion("update_user_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIsNotNull() {
            addCriterion("update_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdEqualTo(Long value) {
            addCriterion("update_user_id =", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotEqualTo(Long value) {
            addCriterion("update_user_id <>", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThan(Long value) {
            addCriterion("update_user_id >", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("update_user_id >=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThan(Long value) {
            addCriterion("update_user_id <", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdLessThanOrEqualTo(Long value) {
            addCriterion("update_user_id <=", value, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdIn(List<Long> values) {
            addCriterion("update_user_id in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotIn(List<Long> values) {
            addCriterion("update_user_id not in", values, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdBetween(Long value1, Long value2) {
            addCriterion("update_user_id between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateUserIdNotBetween(Long value1, Long value2) {
            addCriterion("update_user_id not between", value1, value2, "updateUserId");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andVisitNoLikeInsensitive(String value) {
            addCriterion("upper(visit_no) like", value.toUpperCase(), "visitNo");
            return (Criteria) this;
        }

        public Criteria andVisitPeriodLikeInsensitive(String value) {
            addCriterion("upper(visit_period) like", value.toUpperCase(), "visitPeriod");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLikeInsensitive(String value) {
            addCriterion("upper(doctor_name) like", value.toUpperCase(), "doctorName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLikeInsensitive(String value) {
            addCriterion("upper(dept_name) like", value.toUpperCase(), "deptName");
            return (Criteria) this;
        }

        public Criteria andRoomNameLikeInsensitive(String value) {
            addCriterion("upper(room_name) like", value.toUpperCase(), "roomName");
            return (Criteria) this;
        }

        public Criteria andRegMethodLikeInsensitive(String value) {
            addCriterion("upper(reg_method) like", value.toUpperCase(), "regMethod");
            return (Criteria) this;
        }

        public Criteria andRegChannelLikeInsensitive(String value) {
            addCriterion("upper(reg_channel) like", value.toUpperCase(), "regChannel");
            return (Criteria) this;
        }

        public Criteria andVisitTypeLikeInsensitive(String value) {
            addCriterion("upper(visit_type) like", value.toUpperCase(), "visitType");
            return (Criteria) this;
        }

        public Criteria andRegTypeLikeInsensitive(String value) {
            addCriterion("upper(reg_type) like", value.toUpperCase(), "regType");
            return (Criteria) this;
        }

        public Criteria andRegStatusLikeInsensitive(String value) {
            addCriterion("upper(reg_status) like", value.toUpperCase(), "regStatus");
            return (Criteria) this;
        }

        public Criteria andPayStatusLikeInsensitive(String value) {
            addCriterion("upper(pay_status) like", value.toUpperCase(), "payStatus");
            return (Criteria) this;
        }

        public Criteria andPayChannelLikeInsensitive(String value) {
            addCriterion("upper(pay_channel) like", value.toUpperCase(), "payChannel");
            return (Criteria) this;
        }

        public Criteria andPatientNameLikeInsensitive(String value) {
            addCriterion("upper(patient_name) like", value.toUpperCase(), "patientName");
            return (Criteria) this;
        }

        public Criteria andPatientGenderLikeInsensitive(String value) {
            addCriterion("upper(patient_gender) like", value.toUpperCase(), "patientGender");
            return (Criteria) this;
        }

        public Criteria andPatientPhoneLikeInsensitive(String value) {
            addCriterion("upper(patient_phone) like", value.toUpperCase(), "patientPhone");
            return (Criteria) this;
        }

        public Criteria andIdCardLikeInsensitive(String value) {
            addCriterion("upper(id_card) like", value.toUpperCase(), "idCard");
            return (Criteria) this;
        }

        public Criteria andRemarkLikeInsensitive(String value) {
            addCriterion("upper(remark) like", value.toUpperCase(), "remark");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLikeInsensitive(String value) {
            addCriterion("upper(is_enabled) like", value.toUpperCase(), "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLikeInsensitive(String value) {
            addCriterion("upper(is_delete) like", value.toUpperCase(), "isDelete");
            return (Criteria) this;
        }

        public Criteria andCreateByLikeInsensitive(String value) {
            addCriterion("upper(create_by) like", value.toUpperCase(), "createBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLikeInsensitive(String value) {
            addCriterion("upper(update_by) like", value.toUpperCase(), "updateBy");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}